[gd_resource type="ShaderMaterial" load_steps=12 format=3 uid="uid://yinrcfmb6ol"]

[sub_resource type="VisualShaderNodeInput" id="1"]
input_name = "time"

[sub_resource type="VisualShaderNodeColorParameter" id="2"]
output_port_for_preview = 0
parameter_name = "laser_color"

[sub_resource type="VisualShaderNodeTexture" id="3"]

[sub_resource type="FastNoiseLite" id="4"]

[sub_resource type="NoiseTexture2D" id="5"]
width = 64
height = 64
seamless = true
noise = SubResource("4")

[sub_resource type="VisualShaderNodeTexture" id="6"]
texture = SubResource("5")

[sub_resource type="VisualShaderNodeVectorOp" id="7"]
output_port_for_preview = 0
operator = 2

[sub_resource type="VisualShaderNodeInput" id="8"]
input_name = "uv"

[sub_resource type="VisualShaderNodeVectorOp" id="9"]
output_port_for_preview = 0
operator = 1

[sub_resource type="VisualShaderNodeVectorCompose" id="10"]

[sub_resource type="VisualShader" id="11"]
code = "shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_disabled, diffuse_lambert, specular_schlick_ggx, unshaded, shadows_disabled;

uniform vec4 laser_color : source_color;
uniform sampler2D tex_frg_4;
uniform sampler2D tex_frg_5;



void fragment() {
// ColorParameter:2
	vec4 n_out2p0 = laser_color;


// Texture2D:4
	vec4 n_out4p0 = texture(tex_frg_4, UV);


// Input:7
	vec2 n_out7p0 = UV;


// Input:10
	float n_out10p0 = TIME;


// VectorCompose:9
	float n_in9p1 = 0.00000;
	float n_in9p2 = 0.00000;
	vec3 n_out9p0 = vec3(n_out10p0, n_in9p1, n_in9p2);


// VectorOp:8
	vec3 n_out8p0 = vec3(n_out7p0, 0.0) - n_out9p0;


// Texture2D:5
	vec4 n_out5p0 = texture(tex_frg_5, vec2(n_out8p0.xy));


// VectorOp:6
	vec3 n_out6p0 = vec3(n_out4p0.xyz) * vec3(n_out5p0.xyz);


// Output:0
	ALBEDO = vec3(n_out2p0.xyz);
	ALPHA = n_out6p0.x;
	EMISSION = vec3(n_out2p0.xyz);


}
"
graph_offset = Vector2(0, 150)
modes/cull = 2
flags/unshaded = true
flags/shadows_disabled = true
nodes/fragment/0/position = Vector2(1100, 0)
nodes/fragment/2/node = SubResource("2")
nodes/fragment/2/position = Vector2(680, 240)
nodes/fragment/4/node = SubResource("3")
nodes/fragment/4/position = Vector2(420, -60)
nodes/fragment/5/node = SubResource("6")
nodes/fragment/5/position = Vector2(460, 180)
nodes/fragment/6/node = SubResource("7")
nodes/fragment/6/position = Vector2(700, -20)
nodes/fragment/7/node = SubResource("8")
nodes/fragment/7/position = Vector2(60, 120)
nodes/fragment/8/node = SubResource("9")
nodes/fragment/8/position = Vector2(240, 100)
nodes/fragment/9/node = SubResource("10")
nodes/fragment/9/position = Vector2(60, 200)
nodes/fragment/10/node = SubResource("1")
nodes/fragment/10/position = Vector2(40, 360)
nodes/fragment/connections = PackedInt32Array(4, 0, 6, 0, 5, 0, 6, 1, 2, 0, 0, 5, 2, 0, 0, 0, 6, 0, 0, 1, 7, 0, 8, 0, 8, 0, 5, 0, 9, 0, 8, 1, 10, 0, 9, 0)

[resource]
render_priority = 0
shader = SubResource("11")
shader_parameter/laser_color = null
